using SqlSugar;
using System.ComponentModel.DataAnnotations;
namespace Jst.Domain
{
    [SugarTable("Modules", TableDescription = "接口API地址信息表")]
    public partial class Modules
    {
        /// <summary>
        /// Id
        /// </summary>
        [Display(Name = "Id")]
        [SugarColumn(ColumnDescription = "Id", IsNullable = false, IsPrimaryKey = true, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public long Id { get; set; }

        /// <summary>
        /// 获取或设置是否禁用，逻辑上的删除，非物理删除
        /// </summary>
        [Display(Name = "获取或设置是否禁用，逻辑上的删除，非物理删除")]
        [SugarColumn(ColumnDescription = "获取或设置是否禁用，逻辑上的删除，非物理删除", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public bool IsDeleted { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        [Display(Name = "名称")]
        [SugarColumn(ColumnDescription = "名称", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(50, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string Name { get; set; }

        /// <summary>
        /// 菜单链接地址
        /// </summary>
        [Display(Name = "菜单链接地址")]
        [SugarColumn(ColumnDescription = "菜单链接地址", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(100, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string LinkUrl { get; set; }

        /// <summary>
        /// 区域名称
        /// </summary>
        [Display(Name = "区域名称")]
        [SugarColumn(ColumnDescription = "区域名称", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(2000, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string Area { get; set; }

        /// <summary>
        /// 控制器名称
        /// </summary>
        [Display(Name = "控制器名称")]
        [SugarColumn(ColumnDescription = "控制器名称", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(2000, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string Controller { get; set; }

        /// <summary>
        /// Action名称
        /// </summary>
        [Display(Name = "Action名称")]
        [SugarColumn(ColumnDescription = "Action名称", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(2000, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string Action { get; set; }

        /// <summary>
        /// 图标
        /// </summary>
        [Display(Name = "图标")]
        [SugarColumn(ColumnDescription = "图标", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(100, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string Icon { get; set; }

        /// <summary>
        /// 菜单编号
        /// </summary>
        [Display(Name = "菜单编号")]
        [SugarColumn(ColumnDescription = "菜单编号", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(10, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string Code { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        [Display(Name = "排序")]
        [SugarColumn(ColumnDescription = "排序", IsNullable = false, IsPrimaryKey = false, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public int OrderSort { get; set; }

        /// <summary>
        /// /描述
        /// </summary>
        [Display(Name = "/描述")]
        [SugarColumn(ColumnDescription = "/描述", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(100, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string Description { get; set; }

        /// <summary>
        /// 是否是右侧菜单
        /// </summary>
        [Display(Name = "是否是右侧菜单")]
        [SugarColumn(ColumnDescription = "是否是右侧菜单", IsNullable = false, IsPrimaryKey = false, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public bool IsMenu { get; set; }

        /// <summary>
        /// 是否激活
        /// </summary>
        [Display(Name = "是否激活")]
        [SugarColumn(ColumnDescription = "是否激活", IsNullable = false, IsPrimaryKey = false, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public bool Enabled { get; set; }

        /// <summary>
        /// 创建ID
        /// </summary>
        [Display(Name = "创建ID")]
        [SugarColumn(ColumnDescription = "创建ID", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public long CreateId { get; set; }

        /// <summary>
        /// 创建者
        /// </summary>
        [Display(Name = "创建者")]
        [SugarColumn(ColumnDescription = "创建者", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(50, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [SugarColumn(ColumnDescription = "创建时间", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 修改ID
        /// </summary>
        [Display(Name = "修改ID")]
        [SugarColumn(ColumnDescription = "修改ID", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public long ModifyId { get; set; }

        /// <summary>
        /// 修改者
        /// </summary>
        [Display(Name = "修改者")]
        [SugarColumn(ColumnDescription = "修改者", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [StringLength(100, ErrorMessage = "【{0}】不能超过{1}字符长度")]
        public string ModifyBy { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        [Display(Name = "修改时间")]
        [SugarColumn(ColumnDescription = "修改时间", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public DateTime ModifyTime { get; set; }

        /// <summary>
        /// ParentId
        /// </summary>
        [Display(Name = "ParentId")]
        [SugarColumn(ColumnDescription = "ParentId", IsNullable = true, IsPrimaryKey = false, IsIdentity = false)]
        [Required(ErrorMessage = "请输入{0}")]
        public long ParentId { get; set; }

    }
}
